package com.esunny.resourcevisualization.manage;

import com.esunny.resourcevisualization.dao.UserDao;
import com.esunny.resourcevisualization.domain.entity.User;
import com.esunny.resourcevisualization.domain.response.ReturnStructure;
import org.springframework.stereotype.Component;

import javax.annotation.Resource;
import java.util.List;

/**
 * @version 1.0.0.0
 * @ClassName UserManage
 * @Description 用户模块数据处理类
 * @Author baochencong
 * @Date 2020/10/9 19:03
 */
@Component
public class UserManage {

    @Resource
    private UserDao userDao;

    /**
     * 添加用户
     *
     * @param user 用户信息
     * @return 添加结果信息
     */
    public ReturnStructure addUser(User user) {
        return userDao.addUser(user) ? ReturnStructure.SUCCESS("添加用户成功", null) : ReturnStructure.ERROR("添加用户失败", null);
    }

    /**
     * 修改用户信息
     *
     * @param user 用户信息
     * @return 修改结果信息
     */
    public ReturnStructure updateUser(User user) {
        return userDao.updateUser(user) ? ReturnStructure.SUCCESS("修改用户信息成功", null) : ReturnStructure.ERROR("修改用户信息失败", null);
    }

    /**
     * 通过用户名获取用户信息
     *
     * @param username 用户名
     * @return 用户信息
     */
    public User getUserByName(String username) {
        return userDao.getUserByName(username);
    }

    /**
     * 通过真实姓名获取用户信息
     *
     * @param realName 真实姓名
     * @return 用户信息
     */
    public User getUserByRealName(String realName) {
        return userDao.getUserByRealName(realName);
    }

    /**
     * 获取用户列表
     *
     * @return 全部用户列表
     */
    public List<User> getUserList() {
        return userDao.getUserList();
    }

    /**
     * 通过用户组名获取用户列表
     *
     * @return 用户列表
     */
    public List<User> getUserListByGroupName(String userGroupName) {
        return userDao.getUserListByGroupName(userGroupName);
    }
}
